package Entity;

import java.sql.Date;
/**
 * User contain details of entity in table User_System in database
 * @author Duc
 */
public class User {
    private int id;
    private String userName;
    private String password;
    private int priority;
    private String firstName;
    private String lastName;
    private boolean gender;
    private String email;
    private Date birthday;
    private String phone;
/**
     * 
     * @param id user's id
     * @param userName user's name
     * @param password user's password has been encrypted
     * @param priority user's priority
     * @param firstName user's First Name
     * @param lastName user's Last Name
     * @param gender user's gender
     * @param email user's email
     * @param birthday user's birthday
     * @param phone user's phone
     */
    public User(int id, String userName, String password, int priority, String firstName, String lastName, boolean gender, String email, Date birthday, String phone) {
        this.id = id;
        this.userName = userName;
        this.password = password;
        this.priority = priority;
        this.firstName = firstName;
        this.lastName = lastName;
        this.gender = gender;
        this.email = email;
        this.birthday = birthday;
        this.phone = phone;
    }
    /**
     * Default constructor
     */
    public User(){
        
    }
/**
     * Return the birthday of user
     * @return  user's birthday  
     */
    public Date getBirthday() {
        return birthday;
    }
    /**
     * Sets a birthday of User object 
     * using the given java.sql.Date value.
     * @param birthday java.sql.Date value
     */
    public void setBirthday(Date birthday) {
        this.birthday = birthday;
    }
/**
     * Return the email of user
     * @return  user's email
     */
    public String getEmail() {
        return email;
    }
/**
     * Sets an email of User object 
     * using the given String value
     * @param email String value 
     */
    public void setEmail(String email) {
        this.email = email;
    }
/**
     * Return the First Name of user
     * @return  user's First Name
     */
    public String getFirstName() {
        return firstName;
    }
/**
     * Sets a First Name of User object 
     * using the given String value
     * @param firstName String value
     */
    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }
/**
     * Return gender of user
     * @return boolean gender. True is Male and false is Female
     */
    public boolean isGender() {
        return gender;
    }

/**
     * Return the id of user
     * @return  user's id  
     */
    public int getId() {
        return id;
    }
/**
     * Set an ID of User object using the given int value
     * @param id int value
     */
    public void setId(int id) {
        this.id = id;
    }
/**
     * Return the Last Name of user
     * @return  user's Last Name  
     */
    public String getLastName() {
        return lastName;
    }
/**
     * Sets a Last Name of User object 
     * using the given String value
     * @param lastName String value
     */
    public void setLastName(String lastName) {
        this.lastName = lastName;
    }
/**
     * Return the password of user has been encrypted
     * @return  user's password has been encrypted
     */
    public String getPassword() {
        return password;
    }
/**
     * Sets a password of User object 
     * using the given String value has been encrypted
     * @param password String value has been encrypted
     */
    public void setPassword(String password) {
        this.password = password;
    }
/**
     * Return the password of user has been encrypted
     * @return  user's password has been encrypted
     */
    public String getPhone() {
        return phone;
    }
/**
     * Set a phone number of User object
     * using the given String value.Phone number is series of digits
     * @param phone String value is series of digits
     */
    public void setPhone(String phone) {
        this.phone = phone;
    }
/**
     * Return the priority of user
     * @return  user's priority
     */
    public int getPriority() {
        return priority;
    }
/**
     * Set a priority of User object 
     * using the given int value
     * @param priority int value
     */
    public void setPriority(int priority) {
        this.priority = priority;
    }
/**
     * Return the account name of user
     * @return  user's account name
     */
    public String getUserName() {
        return userName;
    }

}
